jQuery() : 接受一个包含一个CSS选择器的字符串,用于匹配的一组元素。根据提供的原始 HTML 标记字符串,动态创建由 jQuery 对象包装的 DOM 元素。当DOM完成加载的时候绑定一个要执行的函数。 |
您所在的位置:网站首页 › jquery CSS3选择器方法 › jQuery() : 接受一个包含一个CSS选择器的字符串,用于匹配的一组元素。根据提供的原始 HTML 标记字符串,动态创建由 jQuery 对象包装的 DOM 元素。当DOM完成加载的时候绑定一个要执行的函数。 |
Creating New Elements(创建新元素)
如果一个字符串做为一个参数传递个$(), jQuery 检查这个属性是否看上去像HTML (也就是, 之类的元素在这个字符串中)。如果没有, 这个字符串将被解释为选择器, 作为解析上下文。 但是如果该字符串是一个 HTML 代码片断,那么jQuery 就会根据它尝试创建一个新的 DOM 元素。然后jQuery对象创建并返回引用的这些元素。我们可以在这个对象上执行一些常用的jQuery方法: 1 $( "My new text " ).appendTo( "body" );一个字符串显式解析成HTML,请使用$.parseHTML() 方法. 在上面的例子中,当一个HTML比一个没有属性的简单标签复杂的时候,实际上,创建元素的处理是利用了浏览器的 innerHTML 机制。特别说明,jQuery创建一个新的元素,并且设置innerHTML属性为传入的HTML代码片段。当参数是一个单标签,就像 $('') or $(''),jQuery将使用javasrcipt原生的 createElement()函数创建这个元素。 当传入一个复杂的html,一些浏览器可能不会产生一个完全复制HTML源代码所提供的DOM。正如前面提到的,jQuery使用的浏览器.innerHTML属性来解析传递的HTML并将其插入到当前文档中。在此过程中,一些浏览器过滤掉某些元素,如, , 或 的元素。其结果是,被插入元素可能不是传入的原始的字符串。 不过,这些被过滤掉的标签有限的。有些浏览器可能不完全复制所提供的HTML源代码生成DOM。例如,Internet Explorer的版本8之前转换所有链接的href属性为绝对URL路径,和Internet Explorer第9版之前,不增加一个单独的兼容层的情况下,将无法正确处理HTML5元素。 为了确保跨平台的兼容性,代码片段必须是良好的。标签可以包含其他元素,但需要搭配的结束标记: 1 $( "" );标签不能包含元素可能很快封闭,当然也可以不这样做: 1 2 $( "" );$( "" );当传递HTML给jQuery()时,文本节点并不必当作 DOM 元素来看待。除了一些方法(如内容.content()),它们一般都被忽略或删除。例如: 1 2 var el = $( "123" ); // returns [, "2", ]el = $( "123 >" ); // returns [, "2", , "3 ;"]这是预期的结果。 从jQuery 1.4开始,给jQuery() 的第二个参数可以接受一个简单的对象组成的一个属性集合,可以传递.attr()方法。 重要提示: 如果第二个参数被传递,第一个参数中的HTML字符串 必须代表一个没有任何属性简单的元素。 从 jQuery 1.4开始,我们可以传递一个对象作为第二个参数。 这个参数接受一个属性的集合,这些可以传递给.attr() 方法。此外,一些event type(事件类型)能通过, 而且后面的jQuery方法能够调用: val, css, html, text, data, width, height, or offset。 从 jQuery 1.8开始, 任何jQuery实例方法(一个jQuery.fn的方法),可以被用来作为一个该对象的属性传递给第二个参数: 1 2 3 4 5 6 7 8 $( "", { "class": "my-div", on: { touchstart: function( event ) { // do something } }}).appendTo( "body" );在这个对象中,"class"(类)的名称必须使用引号括起来,因为它是一个JavaScript保留字,还有不能使用"className",因为它是指的DOM属性(property),不是属性(attribute)。 虽然第二个参数是方便,它的灵活性可能会导致意想不到的后果(例如$("", {size: "4"})调用.size()方法,代替设置size属性)。上面的代码块可以被写入,代替为: 1 2 3 4 5 6 7 $( "" ).addClass( "my-div" ).on({ touchstart: function( event ) { // do something }}).appendTo( "body" ); |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |